package com.xbongbong.pro.team;

import com.xbongbong.paas.toolbox.wrap.UserVO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;
import java.util.Set;

/**
 * @author shen.yang
 * @version v1.0
 * @Description 用于公海池，离职，捞取等封装团队参数，单纯就是根据继承逻辑，修改上下游团队，(不走权限检验那一块，所有很多参数不需要)
 * @date 2022/3/16 11:15
 * @since v1.0
 */
@Getter
@Setter
@ToString
public class TeamUpdateMidPOJO {
    /**
     * 公司id
     */
    private String corpid;

    /**
     * 数据id
     */
    private List<Long> dataId;

    /**
     * 表单id
     */
    private Long formId;

    /**
     * saas标记
     */
    private Integer saasMark;

    /**
     * 主业务类型
     */
    private Integer businessType;

    /**
     * 经销商标记
     */
    private Integer distributorMark;

    /**
     * 要添加的负责人
     */
    private Set<String> newAddMainUserList;

    /**
     * 要删除的负责人
     */
    private Set<String> newDelMainUserList;

    /**
     * 要添加的协同人
     */
    private Set<String> newAddCoUserList;

    /**
     *要删除的协同人
     */
    private Set<String> newDelCoUserList;

    /**
     * 当前操作人
     */
    private UserVO loginUser;


    /**
     * 来自退回公海池操作，true来自公海池，false非公海池操作
     */
    private Boolean fromBackPublic;

    /**
     * 是否来自继承，false不是
     */
    private Boolean isInheritance;

    /**
     * 操作标识，主要sheet业务的移交会用到
     */
    private Integer oprateTag;

    public TeamUpdateMidPOJO(String corpid, List<Long> dataId, Long formId, Integer saasMark, Integer businessType, Integer distributorMark, Set<String> newAddMainUserList, Set<String> newDelMainUserList, Set<String> newAddCoUserList, Set<String> newDelCoUserList, UserVO loginUser, Boolean fromBackPublic, Boolean isInheritance) {
        this.corpid = corpid;
        this.dataId = dataId;
        this.formId = formId;
        this.saasMark = saasMark;
        this.businessType = businessType;
        this.distributorMark = distributorMark;
        this.newAddMainUserList = newAddMainUserList;
        this.newDelMainUserList = newDelMainUserList;
        this.newAddCoUserList = newAddCoUserList;
        this.newDelCoUserList = newDelCoUserList;
        this.loginUser = loginUser;
        this.fromBackPublic = fromBackPublic;
        this.isInheritance = isInheritance;
    }

}
